package edu.pe.cayetano.wsseguridad.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import ws.synopsis.frmwrk.common.BResult;
import edu.pe.cayetano.wsseguridad.constantes.Constantes;
import edu.pe.cayetano.wsseguridad.framework.DAOException;
import edu.pe.cayetano.wsseguridad.to.WSCabeceraSeguridadTO;

public class SeguridadDAO extends BaseDAO{


	public SeguridadDAO(Connection cnx) {
		super(cnx);
	}

	/**
	 * Metodo que realiza el cambio del password de un usuario
	 * */
	public BResult cambiaPassword(WSCabeceraSeguridadTO cabeceraUsuarioTO) throws Exception {

		String 					schema			= "dbusers.";
		PreparedStatement   	pstmt 		 	= null;
		BResult					ret 			= new BResult();
		try{
			StringBuffer sb  = new StringBuffer();
			sb.append("UPDATE "+schema+"DBUSERS_USUARIO SET PASSWORD=? where COD_USUARIO=?");
			System.out.println("[WSSeguridad][SeguridadDAO][cambiaPassword]:query:<"+sb.toString()+">");
			pstmt = getConnection().prepareStatement(sb.toString());	
			pstmt.setString(1,cabeceraUsuarioTO.getPassword());
			pstmt.setString(2,cabeceraUsuarioTO.getCod_usuario());
			pstmt.executeUpdate();
			ret.setCode(Constantes.CODIGO_EXITO);
			ret.setMessage(Constantes.MENSAJE_CODIGO_EXITO);
		}catch(SQLException e){
			System.out.println("[WSSeguridad][SeguridadDAO][cambiaPassword]:sqlexception:<"+e.toString()+">");
			ret.setCode(e.getErrorCode());
			ret.setMessage(e.getMessage());
		}catch(Exception e){
			System.out.println("[WSSeguridad][SeguridadDAO][cambiaPassword]:exception:<"+e.toString()+">");
			ret.setCode(Constantes.CODIGO_ERROR);
			ret.setMessage(e.getMessage());
		}finally{
			try{
				pstmt.close();
			}catch(Exception e){
				ret.setCode(Constantes.CODIGO_ERROR);
				ret.setMessage(e.getMessage());
				throw new DAOException(e.getMessage());
			}
		}
		return ret;
	}

}
